home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / editor / txtab707.zip / TXTABLE.DOC < prev    next >
Text File  |  1997-07-31  |  28KB  |  584 lines

  1. TXTABLE.DOC                            1                           Jul 31, 1997
  2.  
  3. WIN95 AND WINNT NOTICE:  As with most DOS-based utilities, this program doesn't
  4. understand the weird subdirectories, long filenames,  invalid  characters  that
  5. are possible under Windows 95 and Windows/NT.   Both  operating  systems  alias
  6. long filenames into names like MYFILE~1.TXT and you will need  to  specify  the
  7. aliased versions of file names to process  them.   Under  some  file  structure
  8. systems in NT, the program may not work at all.
  9.  
  10. This program creates tables from an ASCII text input file.  Easier to  maintain
  11. than most word processing tables, the program automatically  handles  alignment
  12. and such.  Features:
  13.  
  14.   * Creates tables which can be (at this point) up to 10 columns wide.
  15.   * Automatically sets table column widths but you can override this.
  16.   * Allows flexibility  in  terms  of  alignment,  borders,  titles,  and  page
  17.     lengths.
  18.   * You can either use a straight ASCII text input file (typically  one  record
  19.     per cell) or else a pseudo-HTML input file
  20.   * If you use the optional embedded HTML stuff, you can  have  more  than  one
  21.     table per input file.
  22.   * Pressing escape stops the program early.
  23.  
  24.  
  25. The TXTABLE.EXE input file:
  26.  
  27. TXTABLE.EXE works off an ASCII text input file which basically  tells  it  what
  28. goes in each cell.  This file can be created and maintained by hand.
  29.  
  30. (A sample file, TXTABLE2.SAM, should have been included in the ZIP file.   It's
  31. used as the basis of the example shown below.  Feel free to try  it  out  using
  32. "TXTABLE TXTABLE2.SAM".)
  33.  
  34. Tables can be indicated in this file in one of two ways.  The first is a method
  35. which doesn't use HTML commands and basically expects one cell of data per line
  36. on input.  The second method is based on a limited version of the  HTML  coding
  37. for tables.
  38.  
  39. You will notice that the sample file actually mixes the two techniques  in  the
  40. same file.  If this is done, the HTML-based  table(s)  must  appear  after  the
  41. one-line/one-cell model.
  42.  
  43.  
  44.  
  45. TXTABLE.DOC                            2                           Jul 31, 1997
  46.  
  47. Using format one (non-HTML):
  48.  
  49. Each record in the input file is the contents of a single cell.  Long lines are
  50. automatically wrapped on output by the program.  For example,  if  you  have  a
  51. table that looks like this:
  52.  
  53. ╔═════════════╦══════════════════╤════════════════════════════════════════════╗
  54. ║  Character  ║  Actor/Actress   │                  Viewpoint                 ║
  55. ╠═════════════╬══════════════════╪════════════════════════════════════════════╣
  56. ║ Fox Mulder  ║ David Duchovny   │ Searching for the truth about his sister.  ║
  57. ║             ║                  │ Conspiracy under every rock.               ║
  58. ╟─────────────╫──────────────────┼────────────────────────────────────────────╢
  59. ║ Dana Scully ║ Gillian Anderson │ Science is god.  However, strong religious ║
  60. ║             ║                  │ beliefs provide second foundation.         ║
  61. ╚═════════════╩══════════════════╧════════════════════════════════════════════╝
  62.  
  63. (This table was generated by the TXTABLE command.)
  64.  
  65. The input file would consist of the nine cells shown above, in the  order  they
  66. are shown.  In this case, the input file was the following:
  67.  
  68.   Character
  69.   Actor/Actress
  70.   Viewpoint
  71.   Fox Mulder
  72.   David Duchovny
  73.   Searching for the truth about his sister.  Conspiracy under every rock.
  74.   Dana Scully
  75.   Gillian Anderson
  76.   Science is god.  However, strong religious beliefs provide second foundation.
  77.  
  78. Leading spaces are removed by the program for data lines.
  79.  
  80. You can embed comment lines within the input file.  Comments are any lines that
  81. begin with a colon (":"), semicolon (";"), or slash-asterisk pair ("/*"). These
  82. special characters have to begin in column 1.  The  typical  use  for  comments
  83. would be to indicate where table lines begin and what parameters are  suggested
  84. for this table.  For example, a commented input file for this example might  be
  85. the following:
  86.  
  87.   /* TXTABLE2.SAM
  88.   Character
  89.   Actor/Actress
  90.   Viewpoint
  91.   /*
  92.   Fox Mulder
  93.   David Duchovny
  94.   Searching for the truth about his sister.  Conspiracy under every rock.
  95.   /*
  96.   Dana Scully
  97.   Gillian Anderson
  98.   Science is god.  However, strong religious beliefs provide second foundation.
  99.  
  100. One advantage of this approach is that it makes  it  very  easy  to  move  rows
  101. around, something which I could never figure out how to do in WordPerfect.
  102.  
  103. A blank line means an empty cell.
  104.  
  105.  
  106. TXTABLE.DOC                            3                           Jul 31, 1997
  107.  
  108. The  cell  contents  can  include  embedded  decimal  and  hexadecimal  strings
  109. (including space representations) if desired (see BRUCEHEX.DOC file).   If  you
  110. want to force a new line within a cell (for example,  "Actor/"  and  then  have
  111. "Actress"  on  the  next  line),  include  the  representation  of  a  carriage
  112. return/linefeed within the line.  For example:  Actor/\013\010Actress.
  113.  
  114. If you have a very long cell, you can split the line in your  input  file  into
  115. multiple lines.  To  do  this,  end  the  line(s)  to  be  continued  with  the
  116. continuation indicator, which initially defaults to "__".  For example,
  117.  
  118.         This cell consists of a number of words__
  119.           so it's been split into multiple lines to make it easier__
  120.           to read in the input file.
  121.  
  122. Leading spaces are ignored by the program (except for comments) and  it's  much
  123. easier to read the lines if you indent the continued lines.
  124.  
  125. Line continuations in the input file has no bearing on where the cells will  be
  126. wrapped in the final table.  That's based exclusively on cell  widths  and  the
  127. \013\010 indicators.
  128.  
  129. Note that the program automatically adds one space  when  it  joins  the  lines
  130. unless a space is already there.  So the above example will have the cell shown
  131. based on "words so" and "easier to".
  132.  
  133.  
  134. Parts of a table and their alignment:
  135.  
  136. Each table consists of a header section (the first line of cells)  and  a  stub
  137. (the left-most column of cells).  The contents of  the  cells  within  each  of
  138. these sections can be positioned independently from the body of the table.   By
  139. default, the contents of the headers are centered, then  the  stubs  are  flush
  140. left, and then body of the table is also flush left.  The uppermost  left  cell
  141. is considered to be part of the header, not the stub.
  142.  
  143. Numeric values are positioned  totally  independent  of  everything  else.   By
  144. default, they are positioned flush right.  At this point, the  program  doesn't
  145. support decimal alignment so just make sure you have the same number of decimal
  146. places for every cell in the column.
  147.  
  148. In addition, you can have an optional title in your table.  The title can be as
  149. long as you want it; it will be automatically wrapped  and  centered  based  on
  150. your page width.  Note that the only way to have a title is to embed it in your
  151. input file.  This is explained shortly in the "Specifying parameters" section.
  152.  
  153.  
  154.  
  155. TXTABLE.DOC                            4                           Jul 31, 1997
  156.  
  157. Using format two (HTML based):
  158.  
  159. The second format for the input file is based on  the  HTML  standard.   Having
  160. said this, it does *not* the HTML standard; just a subset of it.
  161.  
  162. HTML uses indicators enclosed  in  "<..>"  characters  to  indicate  what's  to
  163. happen.  Unlike the  HTMSTRIP  command  (also  released  by  freeware  by  this
  164. author), TXTABLE only supports certain HTML codes:
  165.  
  166.         <BR>                     Line is to be split at this point
  167.         <CAPTION>...</CAPTION>   Title of table
  168.                                  (<TITLE>...</TITLE> works too)
  169.         <TABLE>...</TABLE>       Table definition
  170.         <TD>...</TD>             Table cell data contents
  171.         <TH>...</TH>             Table header data contents
  172.         <HR>                     Horizontal rule is to appear here
  173.         <TITLE>...</TITLE>       Title of table
  174.                                  (<CAPTION>...</CAPTION> works too)
  175.         <TR>...</TR>             Table row
  176.         <VERBATIM>...</VERBATIM> Block which follows appears outside of a
  177.                                  table block and is to be printed verbatim.
  178.  
  179. A typical table looks like the following:
  180.  
  181.         <TABLE>
  182.         <CAPTION>Main exports by country</CAPTION>
  183.         <TR><TH>Table stub</TH><TH>Col 1</TH><TH>Col 2</TH></TR>
  184.         <TR><TD>China</TD>
  185.             <TD>Textiles</TD>
  186.             <TD>Apparel</TD></TR>
  187.         <TR><TD>Japan</TD>
  188.             <TD>Automobiles</TD>
  189.             <TD>Electronics</TD></TR>
  190.         </TABLE>
  191.  
  192. This input file would result in the following output:
  193.  
  194.                             Main exports by country
  195.  
  196.                    ╔════════════╦═════════════╤═════════════╗
  197.                    ║ Table stub ║ Col 1       │ Col 2       ║
  198.                    ╠════════════╬═════════════╪═════════════╣
  199.                    ║ China      ║ Textiles    │ Apparel     ║
  200.                    ╟────────────╫─────────────┼─────────────╢
  201.                    ║ Japan      ║ Automobiles │ Electronics ║
  202.                    ╚════════════╩═════════════╧═════════════╝
  203.  
  204. Under the HTML coding conventions, the only forced line breaks are  done  using
  205. the <BR> option or some other HTML command which forces a new row (for example,
  206. <TH> or <TITLE>).
  207.  
  208. The <TD ...> and <TH ...> statements can  include  alignment  statements  which
  209. override the default  alignment  for  that  column.   These  appear  like  "<TD
  210. ALIGN=RIGHT>".  Valid ALIGN= values are RIGHT, LEFT, CENTER, or JUSTIFY.
  211.  
  212.  
  213. TXTABLE.DOC                            5                           Jul 31, 1997
  214.  
  215. You can also embed ROWSPAN=n and COLSPAN=n statements in  your  <TD>  and  <TR>
  216. specifications.  These tell the program that the value of the cell  extends  to
  217. the right or down for a certain number of rows or columns.  For example:
  218.  
  219.         <table>
  220.         <tr><td colspan=2>1(1)<td>1(2)<td>1(3)
  221.         <tr><td rowspan=2>2(1)<td>2(2)<td>2(3)<td>2(4)
  222.         <tr><td>3(1)<td>3(2)<td>3(3)
  223.         </table>
  224.  
  225. Generates this table:
  226.  
  227.                           ╔══════╦══════╤══════╤══════╗
  228.                           ║ 1(1) ║      │ 1(2) │ 1(3) ║
  229.                           ╠══════╬══════╪══════╪══════╣
  230.                           ║ 2(1) ║ 2(2) │ 2(3) │ 2(4) ║
  231.                           ╟──────╫──────┼──────┼──────╢
  232.                           ║      ║ 3(1) │ 3(2) │ 3(3) ║
  233.                           ╚══════╩══════╧══════╧══════╝
  234.  
  235. Unexpected HTML commands  are  ignored  by  TXTABLE.   Unlike  with  real  HTML
  236. commands, TXTABLE expects your HTML commands to begin and end on the same line.
  237.  
  238.  
  239. TXTABLE.DOC                            6                           Jul 31, 1997
  240.  
  241. Column widths:
  242.  
  243. Column widths are set automatically by the program.  You can  override  any  of
  244. the width settings that you'd like.
  245.  
  246. By default, the program processes your input twice.  The first time,  it  scans
  247. for maximum column widths.  As far as the program is concerned,  the  width  of
  248. the column includes all of the following:
  249.  
  250.   * The character(s) after the delimiter that starts the cell  (the  number  of
  251.     characters being set by /BUFF=n but it defaults to just 1),
  252.   * The actual text to be stuffed into that cell,
  253.   * The character(s) before the delimiter that ends the cell (again, /BUFF=n),
  254.   * The cell delimiter itself (always one character), and
  255.   * For the first cell only, the very first cell delimiter character.
  256.  
  257. In the example shown above, /BUFF=1 was left by default.  The longest string in
  258. the first column of cells (the stub) is the string "Dana Scully"  which  is  11
  259. characters.  So the maximum required width for the first column  is  1+11+1+1+1
  260. or 15.
  261.  
  262. The second column's longest string is "Gillian Anderson" (must have  been  when
  263. she was pregnant) which is 16 characters in length.  So  the  maximum  required
  264. width for the secon column is 1+16+1+1+0 or 19.
  265.  
  266. The third column is some big number like 80.
  267.  
  268. The program looks at your specified width for the  table,  divides  it  by  the
  269. number of columns in the table, and figures the average column width.   If  the
  270. maximum width for the column is less than or equal to the average, the  program
  271. sets the column width to be this maximum.
  272.  
  273. In our example, the default table width of 80 is in effect and there are  three
  274. columns so the average column width is 27 (80  divided  by  3)  or  so.   Since
  275. they're smaller than the average, the program sets the width of  column  1  and
  276. column 2 to be 15 and 19 respectively.
  277.  
  278. The program looks to see if there are any remaining  columns.   If  yes,  their
  279. width is set to be the  remaining  width  divided  by  the  number  of  columns
  280. affected.  In our case, there are 80-15-19 or 46 characters left and one column
  281. so the width of the third column is set to be 46 characters  and  some  of  the
  282. lines of text have to be wrapped accordingly.
  283.  
  284. If the automatic width detection discovers that the specified  table  width  is
  285. too big, the program will  typically  adjust  the  maximum  table  width.   For
  286. example, if you have 3 columns and they're all like 10  characters,  the  table
  287. width will be shrunk appropriately.  The page width, however, will stay  as  it
  288. was so the table will appear centered within the given page width.
  289.  
  290. You can adjust any of the widths  if  you'd  like.   This  is  done  using  the
  291. "/{+n}{-n}{@n}..." parameter.  For each column in sequence, you can specify one
  292. of the following:
  293.  
  294.    "+n" says to add "n" characters to the initial width.
  295.    "-n" says to subtract "n" characters from the initial width.
  296.    "@n" says to make that column exactly "n" characters in width.
  297.  
  298.  
  299. TXTABLE.DOC                            7                           Jul 31, 1997
  300.  
  301. In our example, the column widths ended up being /@15@19@46.  If you wanted to,
  302. you could expand the last column and shrink the first one by  saying  "/-2+0+2"
  303. or by using some combination of "@n" specifications to do the same thing.
  304.  
  305. If your adjustments cause the table width to expand or contract,  the  /WIDTH=n
  306. (and /PAGEW=n if necessary) specifications will change appropriately.
  307.  
  308. Except in rather bizarre cases, the default system column  settings  should  be
  309. more than adequate.
  310.  
  311.  
  312. Specifying parameters:
  313.  
  314. Parameters for this program can be set in the following ways.  The last setting
  315. encountered always wins:
  316.   - Read from an *.INI file (see BRUCEINI.DOC file),
  317.   - Through the use of an environmental variable (SET TXTABLE=whatever), or
  318.   - From the command line (see "Syntax" below)
  319.  
  320. In addition, the TXTABLE.EXE program allows you embed commands within the input
  321. file itself.  This makes it easier to keep table-specific parameters  with  the
  322. input file.
  323.  
  324. The embedded commands have to begin with "/=" in column one of the input  file.
  325. Any statement which begins with "/" is processed like a regular parameter.  For
  326. example:
  327.  
  328.         /*TACSCHED.TST
  329.         /=/7 /border=d /@10@10@10@10@10@10@10
  330.         Time
  331.  
  332. (The line which begins with "/*" is just a comment line.)
  333.  
  334. You can have as many "/=" lines as  you'd  like  and  they  can  have  multiple
  335. options on them.  As always, the last parameter encountered wins.
  336.  
  337. In addition to embedding regular commands, you can also specify a  table  title
  338. by putting it on a "/=" line.  Any "/=" line that  doesn't  start  with  a  "/"
  339. parameter is, in fact, presumed to be a title.  Titles can continue to multiple
  340. lines if desired (you don't need the line continuation string to do  this)  but
  341. each line must begin with "/=".  For example:
  342.  
  343.         /=Return on interest rates based on some stupid formula that
  344.         /=my boss wants but it must be one that no one seriously
  345.         /=uses any more.
  346.  
  347. If you'd like to force wrapping, you can embed \013\010 sequences  as  desired.
  348. You can  also  include  The  title  can  include  other  embedded  decimal  and
  349. hexadecimal  strings  (including  space  representations)   if   desired   (see
  350. BRUCEHEX.DOC file).
  351.  
  352. Titles that appear on  page  two  or  afterward  will  automatically  end  with
  353. "(cont)" so you'll know it's a continued table.
  354.  
  355.  
  356. TXTABLE.DOC                            8                           Jul 31, 1997
  357.  
  358. Syntax:
  359.  
  360.     TXTABLE [ infile ] [ outfile ] [ /n ] [ /EXT=.xxx ] [ /BORDER=c ]
  361.       [ /ALIGN=c ] [ /ALIGNH=c ] [ /ALIGNN=c ] [ /ALIGNS=c ] [ /RULE=s ]
  362.       [ /WIDTH=n ] [ /PAGE=n ] [ /PAGEW=n ] [ /FORCE ] [ /EJECT ] [ /BUFF=n ]
  363.       [ /CONT=s ] [ /{+n}{-n}{@n}... ] [ /DEBUG ] [ /Tpath ]
  364.       [ /initfile | /-I ] [ /-ENV ] [ /? ] [ /?&H ]
  365.  
  366. where:
  367.  
  368. "infile" is the name of the input file to process.   See  example  above.   The
  369. program will prompt for an infile name if none is provided.
  370.  
  371. "outfile" is the name of the output file  to  create.   Is  overwritten  if  it
  372. exists already.  If no output file name is provided, the routine will  use  the
  373. infile and provide an extension of *.TAB.  (The default .TAB extension  can  be
  374. overridden using the /EXT=.xxx parameter.)
  375.  
  376. "/n" tells the program how many cells across the table consists of.  This is  a
  377. required parameter if you're not using pseudo-HTML input files.
  378.  
  379. "/EXT=.xxx" allows you to specify a different default file  extension  for  the
  380. output file.  This parameter only matters if you do not explicitly  specify  an
  381. output file name.  The default value is "/EXT=.TAB".
  382.  
  383. "/BORDER=c" specifies the type of border to use.  The possible choices for  "c"
  384. are:
  385.   D  -- double line
  386.   S  -- single line
  387.   T  -- text character line
  388.   B  -- blanks (spaces)
  389.   N  -- none
  390.   DV -- double line is used for vertical borders, lines are skipped in
  391.         horizontal rows within the table itself
  392.   SV -- same as DV except single line
  393.   TV -- same as DV except text lines
  394. Examples of the various border types:
  395.  
  396.      <D>ouble       <S>ingle        <T>ext         <B>lank        <N>one
  397.    ╔═══╦═══╤═══╗  ┌───┬───┬───┐  +---+---+---+
  398.    ║ 1 ║ 2 │ 3 ║  │ 1 │ 2 │ 3 │  | 1 | 2 | 3 |    1   2   3      1   2   3
  399.    ╠═══╬═══╪═══╣  ├───┼───┼───┤  +---+---+---+                   4   5   6
  400.    ║ 4 ║ 5 │ 6 ║  │ 4 │ 5 │ 6 │  | 4 | 5 | 6 |    4   5   6      7   8   9
  401.    ╟───╫───┼───╢  ├───┼───┼───┤  +---+---+---+
  402.    ║ 7 ║ 8 │ 9 ║  │ 7 │ 8 │ 9 │  | 7 | 8 | 9 |    7   8   9
  403.    ╚═══╩═══╧═══╝  └───┴───┴───┘  +---+---+---+
  404.  
  405.                       <DV>           <SV>           <TV>
  406.                   ╔═══╦═══╤═══╗  ┌───┬───┬───┐  +---+---+---+
  407.                   ║ 1 ║ 2 │ 3 ║  │ 1 │ 2 │ 3 │  | 1 | 2 | 3 |
  408.                   ╠═══╬═══╪═══╣  ├───┼───┼───┤  +---+---+---+
  409.                   ║ 4 ║ 5 │ 6 ║  │ 4 │ 5 │ 6 │  | 4 | 5 | 6 |
  410.                   ║ 7 ║ 8 │ 9 ║  │ 7 │ 8 │ 9 │  | 7 | 8 | 9 |
  411.                   ╚═══╩═══╧═══╝  └───┴───┴───┘  +---+---+---+
  412.  
  413.  
  414. TXTABLE.DOC                            9                           Jul 31, 1997
  415.  
  416. "/ALIGN=c" specifies how to align the contents of the cells that are not either
  417. header or stub cells.  In the <T>ext example above, /ALIGN=c would affect cells
  418. 5, 6, 8, and 9.  Possible values for "c" are R (flush right), L (flush left), J
  419. (justify), and C (center).  The default is /ALIGN=L.  The  positioning  of  any
  420. numeric cells is overridden by the /ALIGNN=c parameter.
  421.  
  422. "/ALIGNH=c" specifies how to align the contents of the cells that are  part  of
  423. the first row of cells, called  the  header.   In  the  <T>ext  example  above,
  424. /ALIGNH=c would affect cells 1 to 3.  Possible values  for  "c"  are  R  (flush
  425. right), L (flush left), J (justify), and C (center).  The default is  /ALIGN=C.
  426. The positioning of any numeric cells is overridden by the /ALIGNN=c parameter.
  427.  
  428. "/ALIGNN=c" specifies how to align the contents  of  cells  that  are  entirely
  429. numeric.  This specification  overrides  any  other  alignment  specifications.
  430. Possible values for "c" are R (flush right), L (flush left),  and  C  (center).
  431. The default in /ALIGNN=R.
  432.  
  433. "/ALIGNS=c" specifies how to align the contents of the cells that are  part  of
  434. the leftmost column of cells, called the stub.  The very  first  cell  (cell  1
  435. above), is part of the header, not the stub.   In  the  <T>ext  example  above,
  436. /ALIGNS=c would affect cells 4 and 7.  Possible values for  "c"  are  R  (flush
  437. right), L (flush left), J (justify), and C (center).  The default is  /ALIGN=L.
  438. The positioning of any numeric cells is overridden by the /ALIGNN=c parameter.
  439.  
  440. "/RULE=s" specifies that a string is to be repeated the width of the line. This
  441. is used to separate sections.  The string  can  be  a  single  character  (like
  442. "/RULE=-"), multiple characters (like "/RULE="- ""), it can contain decimal and
  443. hexadecimal characters (like "/RULE=\066\097\116"--see BRUCEHEX.DOC), it can be
  444. "/RULE=NULL" (which typically results in a blank line), or just simply  "/RULE"
  445. (which is the same thing as "/RULE=-" if /BORDER=T and "RULE=\196" if /BORDER=S
  446. or /BORDER=D).  Personally, if your printer supports IBM graphics characters, I
  447. find "/RULE=\196" to be the most pleasing of the rule lines.
  448.  
  449. "/WIDTH=n" specifies the desired table width.  This  determines  wrapping  long
  450. lines and such.  Can be  reset  automatically  by  the  program  if  your  data
  451. warrants it.  Initially defaults to /WIDTH=80.
  452.  
  453. "/PAGE=n" specifies how long each page is.  This  will  cause  the  program  to
  454. judge whether the contents of the current line of cells will fit on the current
  455. page.  If not, the program will do all of the following steps:
  456.  
  457.     * print a blank line,
  458.     * print an optional page eject (if /EJECT in effect),
  459.     * reprint any table titles (see "Specifying parameters" above),
  460.     * repeat the headers over again, and
  461.     * then produce the next cells.
  462.  
  463. No page is required and in fact the default for this option  is  /PAGE=0  which
  464. turns off any page length adjusting.  Doing the adjusting forces the program to
  465. store cells in memory and may cause errors if  your  table  exceeds  the  array
  466. bounds that were set for this.  The current maximum is 10 lines for the  header
  467. and 50 lines for any single non-header row.  If you do  get  errors,  just  use
  468. /PAGE=0 and redo it.
  469.  
  470.  
  471. TXTABLE.DOC                            10                          Jul 31, 1997
  472.  
  473. "/PAGEW=n" specifies what the page width is.  If no page  width  is  specified,
  474. the program will use the /WIDTH=n parameter instead.  If the page is wider than
  475. the table, the program will center the table within the page.
  476.  
  477. "/FORCE" says that the specified width must be adhered to.  The only  exception
  478. to this is that tables may force a width expansion if the  cells  simply  can't
  479. fit on the page otherwise.  Using /FORCE means that some words  in  tables  may
  480. get split up if the entire word can't fit in  the  computed  cell  width.   The
  481. latter is especially a problem if there are lots of cell columns  in  a  table;
  482. there isn't much room for the actual data when the cells themselves take up  so
  483. much space.  Initially defaults to "/-FORCE".
  484.  
  485. "/-FORCE" says that the desired widths can be ignored if table cells would look
  486. more natural without it.  This is initially the default.
  487.  
  488. "/EJECT" says to put a page eject character (decimal 12) between pages  in  the
  489. table.  This is initially the default.  You can specify "/-EJECT" if  you  want
  490. to turn them off.  See also "/PAGE=n" parameter.
  491.  
  492. "/-EJECT" says  to  put  nothing  (including  the  standard  decimal  12  eject
  493. characters) between pages in the table.  Initially defaults to "/EJECT".
  494.  
  495. "/BUFF=n" specifies how many spaces to position on either side of the  vertical
  496. bars in the tables.  Defaults to /BUFF=1.
  497.  
  498. "/CONT=s" specifies that the contents of lines  that  end  with  the  specified
  499. string indicate that the contents of the cell continues on the next line.  This
  500. allows you to put fairly long cells in your table  without  killing  your  text
  501. editor.  Note that this does not indicate joined cells in the final table; just
  502. that the text of a single cell  is  huge.   A  space  is  presumed  before  the
  503. continuation string whether it's present or not.   For  ease  of  reading,  you
  504. might want to begin the continued lines with one or more spaces.   Defaults  to
  505. /CONT=__
  506.  
  507. "/{+n}{-n}{@n}..." allows you to adjust the widths of  the  columns.   See  the
  508. "Column widths" description above.
  509.  
  510. "/DEBUG" is mainly used for testing purposes.  It shows the first 80 characters
  511. of the table to you on the screen in addition to writing it  to  your  outfile.
  512. This allows you  to  see  results  of  each  parameter  more  easily  and  make
  513. adjustments as necessary.
  514.  
  515. "/Tpath" specifies where to write the temporary files that the  routine  needs.
  516. Examples are "/TC:" and "/TC:\TEMP".  If not specified, the routine  writes  to
  517. the following in sequence:
  518.  
  519.   - the value of any TEMP, then TMP, environmental variable
  520.   - C:\TEMP
  521.   - C:\
  522.  
  523. "/Iinitfile" says to read an initialization file with the file name "initfile".
  524. The file specification *must* contain a period.  Initfiles are described in the
  525. BRUCEINI.DOC file.  Initially defaults to "/ITXTABLE.INI".
  526.  
  527. "/-I" (or "/INULL") says to skip loading the initialization file.
  528.  
  529.  
  530. TXTABLE.DOC                            11                          Jul 31, 1997
  531.  
  532. "/ENV" says to look for %var% occurrences  in  the  command  line  and  try  to
  533. resolve any apparent environmental variable references.  See  BRUCEINI.DOC  for
  534. more information.  This is initially the default.
  535.  
  536. "/-ENV" says to skip resolving apparent %var% occurrences in the command  line.
  537. Initially defaults to "/ENV".
  538.  
  539. "/?" or "/HELP" or "HELP" shows you the syntax for the command.
  540.  
  541. "/?&H" gives you a hexadecimal and decimal conversion table.
  542.  
  543.  
  544. Return codes:
  545.  
  546. TXTABLE returns the following ERRORLEVEL codes:
  547.  
  548.         0 = no problems
  549.       253 = escape pressed
  550.       254 = input file not found
  551.       255 = syntax problems, or /? requested
  552.  
  553.  
  554. Author:
  555.  
  556. This program was written by Bruce Guthrie of Wayne Software.  It  is  free  for
  557. use and  redistribution  provided  relevant  documentation  is  kept  with  the
  558. program, no changes are made to the program or documentation,  and  it  is  not
  559. bundled with commercial programs or charged for separately.  People who need to
  560. bundle it in for-sale packages must  pay  a  $50  registration  fee  to  "Wayne
  561. Software" at the following address.
  562.  
  563. Additional information about this and other  Wayne  Software  programs  can  be
  564. found in the file BRUCE.DOC which should be included in the original ZIP  file.
  565. The recent change history for this and the other programs is  provided  in  the
  566. HISTORY.ymm file which should be in the same ZIP file where "y" is replaced  by
  567. the last digit of the year and "mm" is the two  digit  month  of  the  release;
  568. HISTORY.611 came out in November 1996.  This same naming convention is used  in
  569. naming the ZIP file (TXTABymm.ZIP) that this program was included in.
  570.  
  571. Comments and suggestions can also be sent to:
  572.  
  573.                 Bruce Guthrie
  574.                 Wayne Software
  575.                 113 Sheffield St.
  576.                 Silver Spring, MD 20910
  577.  
  578.                 e-mail: WayneSof@erols.com   fax: (301) 588-8986
  579.                 http://www.geocities.com/SiliconValley/Lakes/2414
  580.  
  581. Please provide an Internet e-mail address on all correspondence.
  582.  
  583. 
  584.